package engine.profile
{
	import flash.utils.*;
	
	public class RxTimingProfileData extends RxProfileData
	{
		public function RxTimingProfileData()
		{
		}
		
		override public function Start(param1:String, param2:int) : void
		{
			super.Start(param1, param2);
			m_valueStart = getTimer();
		}
		
		override public function End() : void
		{
			m_valueEnd = getTimer();
			super.End();
		}
		
		override public function Snapshot(param1:String) : void
		{
			super.Snapshot(param1);
			m_valueStart = getTimer();
		}
		
		override public function ConvertToString(param1:Boolean, param2:Boolean, param3:uint) : String
		{
			var _loc_6:int = 0;
			var _loc_7:Number = NaN;
			var _loc_8:String = null;
			var _loc_4:String = "";
			var _loc_5:String = "";
			if (m_valueCount == -1)
			{
				_loc_4 = _loc_4 + (m_name + ": " + m_valueStart.toFixed(param3) + " ms");
				return _loc_4;
			}
			_loc_6 = 0;
			while (_loc_6 < m_stackDepth)
			{
				
				_loc_5 = _loc_5 + "-";
				_loc_6++;
			}
			_loc_5 = _loc_5 + " ";
			if (param1)
			{
				_loc_7 = m_valueEnd - m_valueStart;
				_loc_4 = _loc_4 + (_loc_5 + m_name + ":\n");
				_loc_4 = _loc_4 + (_loc_5 + "  start: " + m_valueStart.toFixed(param3) + " ms\n");
				_loc_4 = _loc_4 + (_loc_5 + "  end: " + m_valueEnd.toFixed(param3) + " ms\n");
				_loc_4 = _loc_4 + (_loc_5 + "  delta: " + _loc_7.toFixed(param3) + " ms\n");
			}
			else
			{
				_loc_7 = param2 ? (m_valueAverage) : (m_valueEnd - m_valueStart);
				if (_loc_7 < 1000)
				{
					_loc_8 = "ms";
				}
				else if (_loc_7 < 60 * 1000)
				{
					_loc_8 = "sec";
					_loc_7 = _loc_7 * (1 / 1000);
				}
				else
				{
					_loc_8 = "min";
					_loc_7 = _loc_7 * (1 / (60 * 1000));
				}
				_loc_4 = _loc_4 + (_loc_5 + m_name + ": " + _loc_7.toFixed(param3) + " " + _loc_8);
			}
			return _loc_4;
		}
	}
}